package com.moss.cloud.base.biz.service;

import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.service.IService;
import com.moss.cloud.base.api.model.from.BaseFrom;
import com.moss.cloud.base.api.model.from.SysRoleFrom;
import com.moss.cloud.base.api.model.param.RolePageParam;
import com.moss.cloud.common.base.model.po.SysRole;

import java.util.List;

/**
 * 角色管理服务接口
 *
 * @author 瑾年
 * @date 2023年3月24日
 */
public interface ISysRoleService extends IService<SysRole> {

    /**
     * 根据角色code查询角色
     *
     * @param code
     * @return
     */
    SysRole getSysRole(String code);

    /**
     * 角色ID查询角色信息
     *
     * @param roleId
     * @return
     */
    SysRole roleInfo(Long roleId);

    /**
     * 获取租户角色列表
     *
     * @return
     */
    List<SysRole> sysRoles();

    /**
     * 分页查询租户角色信息
     *
     * @param rolePageParam
     * @return
     */
    IPage<SysRole> rolePage(RolePageParam rolePageParam);

    /**
     * 删除角色信息
     *
     * @param baseFrom
     * @return
     */
    Boolean removeRole(BaseFrom baseFrom);

    /**
     * 新增角色信息
     *
     * @param sysRoleFrom
     * @return
     */
    Boolean addRole(SysRoleFrom sysRoleFrom);

    /**
     * 编辑角色信息
     *
     * @param sysRoleFrom
     * @return
     */
    Boolean updateRole(SysRoleFrom sysRoleFrom);
}
